/* Este servlet, recibe los valores de JavaSchool.js, los cuales vienen desde la vista.
 * se encarga de hacer la consulta de datos de la tabla Alumno y Nota de la Base de Datos JavaSchool.
 * luego de obtener los datos, los guarda en una lista, la cual es redireccionada a la pagina listaAlumnoMatriculado.jsp
 * para mostrar los registros guardados previamente en la lista.
 */
package Servlets;

import PackDatos.GestionBD;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class srv_alumnosMatriculados extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        Connection cn = null;
        HttpSession session = request.getSession(true);
        try {
            String curso = request.getParameter("curso");
            response.setContentType("text/html");
            ArrayList<Map> lstAlumnosMat = new ArrayList<Map>();
            // conectamos la BD 
            GestionBD og = new GestionBD();
            cn = og.conectar();
            String query = "select a.id_alumno,alu_codigo,alu_nombre,alu_apellido from alumno a  "
                    + "inner join nota n on n.id_alumno = a.id_alumno where alu_estado='1' and n.id_curso="+curso;
            Statement stm = cn.createStatement();
            ResultSet rs = stm.executeQuery(query);
            while (rs.next()) {
                Map rec = new HashMap();
                // obtenemos un curso
                rec.put("id_curso", curso);
                rec.put("id_alumno", rs.getInt("id_alumno"));
                rec.put("alu_codigo", rs.getString("alu_codigo"));
                rec.put("alu_nombre", rs.getString("alu_nombre"));
                rec.put("alu_apellido", rs.getString("alu_apellido"));
                // lo almacenamos en el array
                lstAlumnosMat.add(rec);
            }
            session.setAttribute("lista_aluMat", lstAlumnosMat);
            stm.close();
            //cn.close();
        } catch (Exception e) {
            System.out.println("problemas al listar alumnos matriculados");
        }
        // generamos la vista y lo devolvemos al cliente
        RequestDispatcher rd = request.getRequestDispatcher("listaAlumnoMatriculado.jsp");
        rd.forward(request, response);
    }
}
